Skip to content

Comet 0.14.0 blog post - #163

Merged
mbutrovich merged 7 commits into
mainfrom
site/comet-0.14
Mar 30, 2026
Merged

Comet 0.14.0 blog post#163
mbutrovich merged 7 commits into
mainfrom
site/comet-0.14

Conversation

@andygrove

@andygrove andygrove commented Mar 27, 2026

Copy link
Copy Markdown
Member

The pull_request event defaults to read-only GITHUB_TOKEN permissions,
causing the pelican action to fail when pushing to asf-staging branch.
@andygrove andygrove mentioned this pull request Mar 27, 2026

- Single-pass `FileScanTask` validation for reduced planning overhead
- Configurable data file concurrency via `spark.comet.scan.icebergNative.dataFileConcurrency`
- Channel-based executor thread parking instead of `yield_now()` for reduced CPU overhead

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should add that we picked up iceberg-rust 0.9.0 which contained a number of performance improvements contributed by the Comet team, and link to the relevant blog section for their release: https://iceberg.apache.org/blog/apache-iceberg-rust-0.9.0-release/#reader-performance-improvements

- Math functions: `width_bucket`, `crc32`
- Map functions: `map_contains_key`, `map_from_entries`
- Conversion functions: `to_csv`, `luhn_check`
- Cast support: date to timestamp, integer to timestamp, numeric to timestamp, integer to binary, boolean to decimal, date to numeric

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I think integer to timestamp, numeric to timestamp, could be simplified to only say numeric to timestamp which should cover int anyways ?

**Performance Optimizations**:

- Single-pass `FileScanTask` validation for reduced planning overhead
- Configurable data file concurrency via `spark.comet.scan.icebergNative.dataFileConcurrency`

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the name correct? dataFileConcurrencyLimit?


- Date/time functions: `make_date`, `next_day`
- String functions: `right`, `string_split`
- Math functions: `width_bucket`, `crc32`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

width_bucket will be fully available after DF53

- String functions: `right`, `string_split`
- Math functions: `width_bucket`, `crc32`
- Map functions: `map_contains_key`, `map_from_entries`
- Conversion functions: `to_csv`, `luhn_check`

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we can move luhn_check to the String functions section?

- Fix config name to dataFileConcurrencyLimit
- Remove width_bucket (not available until DF53)
- Move luhn_check to string functions section
- Simplify cast list (numeric covers integer)
- Add iceberg-rust 0.9.0 reader perf improvements link

@mbutrovich mbutrovich left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @andygrove!

@mbutrovich
mbutrovich merged commit 1d5beb7 into main Mar 30, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants